// 数据结构：线性表
package list

// 列表接口
type List interface {

	// 添加一个元素
	Add(e interface{})

	// 添加一个元素在指定位置
	AddAt(i int, e interface{})

	// 容量个数
	Capacity() int

	// 清空列表
	Clear()

	// 是否包含一个元素
	Contains(e interface{}) bool

	// 根据索引获取元素
	Get(i int) interface{}

	// 元素在列表中的位置
	IndexOf(e interface{}) int

	// 是否空列表
	IsEmpty() bool

	// 从列表中删除一个元素
	Remove(e interface{}) bool

	// 设置元素
	SetAt(i int, e interface{}) bool

	// 列表个数
	Size() int
}
